package com.itheima.d1_file;

import java.io.File;

/**
 * @ClassName Test
 * @Author 16799
 * @Date 2025/8/21 20:14
 * @Version 1.0
 * @Description TODO
 *
 *  这是黑马视频的第153集最后几分钟，突然缝合的视频内容，视频未遮挡时间--2023.5.9，这套视频是2021.9.22发布到B站的
 *  看来这套视频变化很大。缝合的内容是线下上课的录制，很明显讲解api更多，讲解案例更难！
 *  并且没有源码，我先自己抄下来，然后修改一下这个案例
 *
 *  Java字符串的indexof
 * 在Java中， String类提供了一个非常有用的方法index0f()，它用于查找子字符串或字符在字符串中首次出现的位置(索引)。
 **/
public class Test {
    public static void main(String[] args) {
      /*  // 目标:改变某个文件夹下视频的序号，要求从19开始。
        File dir = new File("E:\\磊哥面授-黄埔一期\\Java从入门至大牛课程\\day02-面向对象高级部分\\视频");
        //1、拿到下面全部的视频，一级文件对象
        File[] videos = dir.listFiles();
        // 2、一个一个的找
        for (File video : videos) {
            // 3、拿到它的名字。
            String name = video.getName();//name =“01、多态、继承....String index=name.substring(0,name.index0f("、"));String name
            String index = name.substring(0,name.indexOf("、")); //包前不包后，截取字符串的第一个到“、”的内容
            //01这个数字取出来了，后面要更改为从19开始计数。还有剩下的一段不用更改的内容也要截取出来
            String lastName = name.substring(name.indexOf("、"));    //从“、”开始到后面全部，包前不包后，所以也包括、
            //index要转换为整数
            String newName = (Integer.valueOf(index)+18)+lastName;

            //4、改成新名字
            //video.renameTo(new File(video.getParent(),newName));    //video.getParent()是父路径
            //父路径就是dir
            video.renameTo(new File(dir,newName));
}
*/

        //把上面的代码改成：更改D:\Idea\resource\PPT文件夹下面ppt的名字序号从7开始
        File dir = new File("D:\\Idea\\resource\\PPT");
        File[] ppts = dir.listFiles();
        for (File ppt : ppts) {
            String name = ppt.getName();
            //拿到数字
            String index = name.substring(3,name.indexOf("、"));     //day01、面向对象进阶（一）
            String name_1 = name.substring(0,3);
            String name_2 = name.substring(name.indexOf("、"));
            //把数字改为从7开始，拼接新名字
            String newName = name_1+(Integer.valueOf(index)+6)+name_2;

            //改成新名字
            ppt.renameTo(new File(dir,newName));

        }

    }
}
